package com.ruoyi.system.service.impl;

import com.ruoyi.system.domain.BFile_af;
import com.ruoyi.system.mapper.BFile_afMapper;
import com.ruoyi.system.service.IBFile_afService;
import com.ruoyi.system.service.IBFile_afService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * 电子文件Service业务层处理
 *
 * @author guangpipi
 * @date 2023-09-21
 */
@Service
public class BFile_afServiceImpl implements IBFile_afService
{
    @Autowired
    private BFile_afMapper bEFileMapper;

    /**
     * 查询电子文件
     *
     * @param id 电子文件主键
     * @return 电子文件
     */
    @Override
    public BFile_af selectBEFileById(String id)
    {
        return bEFileMapper.selectBEFileById(id);
    }

    /**
     * 组成tif集
     */
    public List<BufferedImage> makeTifSet(){
        List<BufferedImage> tifImages = new ArrayList<>();
        String folderPath = "F:\\importEngine\\新建涂装车间项目\\01 第一卷 施工质量管理及竣工验收资料\\01 竣工照片";

        File folder = new File(folderPath);
        File[] tifFiles = folder.listFiles((dir, name) -> name.toLowerCase().endsWith(".tif"));

        if (tifFiles != null) {
            for (File tifFile : tifFiles) {
                try {
                    BufferedImage image = ImageIO.read(tifFile);
                    tifImages.add(image);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return tifImages;
    }


    /**
     * 打开本地图片浏览器
     */
    public void openTiffany(String path){
        try{
            ProcessBuilder processBuilder = new ProcessBuilder("explorer",path);
            processBuilder.start();
        }catch (IOException e){
            e.printStackTrace();
        }
    }



    /**
     * 查询电子文件列表
     *
     * @param bEFile 电子文件
     * @return 电子文件
     */
    @Override
    public List<BFile_af> selectBEFileList(BFile_af bEFile)
    {
        return bEFileMapper.selectBEFileList(bEFile);
    }

    /**
     * 新增电子文件
     *
     * @param bEFile 电子文件
     * @return 结果
     */
    @Override
    public int insertBEFile(BFile_af bEFile)
    {
        return bEFileMapper.insertBEFile(bEFile);
    }

    /**
     * 修改电子文件
     *
     * @param bEFile 电子文件
     * @return 结果
     */
    @Override
    public int updateBEFile(BFile_af bEFile)
    {
        return bEFileMapper.updateBEFile(bEFile);
    }

    /**
     * 批量删除电子文件
     *
     * @param ids 需要删除的电子文件主键
     * @return 结果
     */
    @Override
    public int deleteBEFileByIds(String[] ids)
    {
        return bEFileMapper.deleteBEFileByIds(ids);
    }

    /**
     * 删除电子文件信息
     *
     * @param id 电子文件主键
     * @return 结果
     */
    @Override
    public int deleteBEFileById(String id)
    {
        return bEFileMapper.deleteBEFileById(id);
    }
}
